#通过class关键字定义一个类
class Person():     #类
    name = 'default'  #属性 类变量
    age = '0'
    gender = 'female'
    weight = 0
    #实例化初始化方法
    def __init__(self,name,age,gender,weight):
        self.name = name    #self.name实例变量，每个实例拥有的自己的属性
        self.age = age
        self.gender = gender
        self.weight =weight
    #@classmethod 类装饰器 辅助类方法访问
    def eat(self):   #方法
        print('吃')
    def play(self):
        print('玩')
    def jump(self):
        print('跳')

#类的实例话，创建了一个实例zs
zs = Person('zs',12,'man',56)
print(zs.weight) #结果：56

#类变量与实例变量的区别
#类变量需要类访问
#实例变量需要实例来访问

print(Person.name)
Person.name = 'tom' #修改类变量
print(Person.name)

print(zs.name)
zs.name = 'lili' #修改实例变量
print(zs.name)

#类方法与实例方法的区别
#类方法不能访问 （可以加@classmethod 装饰器进行访问）    实例方法可以访问
Person.eat()
#结果 eat() missing 1 required positional argument: 'self'
zs.eat()